import java.util.Scanner;

/**
 * Created by Administrator on 2016/3/7.
 */
public class mergesort
{
    public static void main(String[] args)
    {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int []a=new int[n];
        int []temp=new int[n];
        int i;
        for(i=0;i<n;i++)
            a[i]=in.nextInt();
        int mid=(a.length-1)/2;
        mergesort(a,temp,0,mid,a.length-1);

        for(i=0;i<n;i++)
            if(i==n-1)
                System.out.println(a[i]);
            else
                System.out.print(a[i]+" ");
    }
    public static void mergesort(int[] a,int[] temp,int start,int mid,int end)
    {
        if(start>=end)
            return;
        int lmid;
        int rmid;
        lmid=start+(mid-start)/2;
        rmid=mid+1+(end-mid-1)/2;
        mergesort(a,temp,start,lmid,mid);
        mergesort(a,temp,mid+1,rmid,end);

        int i=start;
        int j=mid+1;

        int p=start;

        int min;
        while(true)
        {
            if(i>mid||j>end)
                break;

            min=a[i];
            i++;
            if(a[j]<min)
            {
                min = a[j];
                j++;
                i--;
            }

            temp[p]=min;
            p++;
        }

        while(i<=mid)
        {
            temp[p]=a[i];
            p++;
            i++;
        }
        while(j<=end)
        {
            temp[p]=a[j];
            p++;
            j++;
        }

        for(i=start;i<=end;i++)
            a[i]=temp[i];
    }
}
